package by.vdl.websort.util;

import by.vdl.websort.server.dao.CommonDao;
import by.vdl.websort.server.entity.SortedTableDTO;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author vasilenko
 */
public class StudyManager {

    private CommonDao commonDao;

    public StudyManager(CommonDao commonDao) {
        this.commonDao = commonDao;
    }

    public Map<Long, List<SortedTableDTO>> getSortedSubmissionResult(long studyId) throws Exception {
        List<SortedTableDTO> sortedTables = commonDao.getStudyDao().getUnsortedDataSubmission(studyId);
        Map<Long, List<SortedTableDTO>>  sortedSubmissionData = new HashMap<Long, List<SortedTableDTO>>();

        for(SortedTableDTO sortedTable: sortedTables){
            try{
                sortedSubmissionData.get(sortedTable.getUserPassStudyId()).add(sortedTable);
            }catch (NullPointerException npe){
                List<SortedTableDTO> emptyList = new ArrayList<SortedTableDTO>();
                emptyList.add(sortedTable);
                sortedSubmissionData.put(sortedTable.getUserPassStudyId(), emptyList);
            }
        }

        return sortedSubmissionData;
    }

}
